package com.kaidongyuan.app.kdydriverr.ui.activity;

public class BtSPP {
//	public static String ErrorMessage="No Error";
//	private static final UUID SPP_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
//	private static final String NAME = "BluetoothChat";
//  //  private static final UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
//	private static BluetoothAdapter myBluetoothAdapter;
//	private static BluetoothDevice myDevice;
//	private static BluetoothSocket mySocket = null;
//	private static OutputStream myOutStream = null;
//	private static InputStream myInStream = null;
//	public static boolean mbConectOk = false;
//
//    private int mState;   //������ָʾ��ǰ������״̬
//    public static final int STATE_NONE = 0;       // ��ǰû�п��õ�����
//    public static final int STATE_LISTEN = 1;     // �����������������
//    public static final int STATE_CONNECTING = 2; // ���ڿ�ʼ������ϵ
//    public static final int STATE_CONNECTED = 3;  // �������ӵ�Զ���豸
//    private final Handler mHandler;
//
//    private AcceptThread mAcceptThread;
//    private ConnectThread mConnectThread;
//    private ConnectedThread mConnectedThread;
//
//    public  BtSPP(Context context,Handler handler) {
//    	myBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
//        mState = STATE_NONE;
//        mHandler = handler;
//
//    }
//    private synchronized void setState(int state) {
//        mState = state;
////        mHandler.obtainMessage(AdEscPrint.MESSAGE_STATE_CHANGE, state, -1).sendToTarget();
//    }
//    private void connectionFailed() {
//        setState(STATE_LISTEN);
//        //Message msg = mHandler.obtainMessage(MainActivity.MESSAGE_TOAST);
//        //Bundle bundle = new Bundle();
//        //bundle.putString(MainActivity.TOAST, "�޷�����װ��");
//        //msg.setData(bundle);
//        //mHandler.sendMessage(msg);
//    }
//    public void write(byte[] out) {
//        ConnectedThread r;
//        synchronized (this) {
//            if (mState != STATE_CONNECTED) return;
//            r = mConnectedThread;
//        }
//        r.write(out);
//    }
//    public synchronized void stop() {
//        if (mConnectThread != null) {mConnectThread.cancel(); mConnectThread = null;}
//        if (mConnectedThread != null) {mConnectedThread.cancel(); mConnectedThread = null;}
//        if (mAcceptThread != null) {mAcceptThread.cancel(); mAcceptThread = null;}
//        setState(STATE_NONE);
//    }
//    public synchronized void connect(BluetoothDevice device) {
//        if (mState == STATE_CONNECTING) {
//            if (mConnectThread != null) {mConnectThread.cancel(); mConnectThread = null;}
//        }
//        if (mConnectedThread != null) {mConnectedThread.cancel(); mConnectedThread = null;}
//        mConnectThread = new ConnectThread(device);
//        mConnectThread.start();
//        setState(STATE_CONNECTING);
//    }
//	public synchronized void connected(BluetoothSocket socket, BluetoothDevice device) {
//        if (mConnectThread != null) {mConnectThread.cancel(); mConnectThread = null;}
//        if (mConnectedThread != null) {mConnectedThread.cancel(); mConnectedThread = null;}
//        if (mAcceptThread != null) {mAcceptThread.cancel(); mAcceptThread = null;}
//        mConnectedThread = new ConnectedThread(socket);
//        mConnectedThread.start();
//       // Message msg = mHandler.obtainMessage(MainActivity.MESSAGE_DEVICE_NAME);
//       // Bundle bundle = new Bundle();
//       // bundle.putString(MainActivity.DEVICE_NAME, device.getName());
//       // msg.setData(bundle);
//       // mHandler.sendMessage(msg);
//        setState(STATE_CONNECTED);
//       }
//    private void connectionLost() {
//        setState(STATE_LISTEN);
//      //  Message msg = mHandler.obtainMessage(MainActivity.MESSAGE_TOAST);
//      //  Bundle bundle = new Bundle();
//      //  bundle.putString(MainActivity.TOAST, "װ�����Ӷ�ʧ");
//      //  msg.setData(bundle);
//      //  mHandler.sendMessage(msg);
//    }
//
//
//    public synchronized void start() {
//        if (mConnectThread != null) {mConnectThread.cancel(); mConnectThread = null;}
//        if (mConnectedThread != null) {mConnectedThread.cancel(); mConnectedThread = null;}
//        if (mAcceptThread == null) {
//            mAcceptThread = new AcceptThread();
//            mAcceptThread.start();
//        }
//        setState(STATE_LISTEN);
//    }
//
//
//	 private class AcceptThread extends Thread {
//		 private final BluetoothServerSocket mmServerSocket;
//	        public AcceptThread() {
//	        	BluetoothServerSocket tmp = null;
//	            try {
//	                tmp = myBluetoothAdapter.listenUsingRfcommWithServiceRecord(NAME, SPP_UUID);
//	            } catch (IOException e) {
//	            }
//	        	mmServerSocket = tmp;
//	        }
//	        public void run() {
//	        	BluetoothSocket socket = null;
//	        	while (mState != STATE_CONNECTED) {
//	                try {
//	                    socket = mmServerSocket.accept();
//	                } catch (IOException e) {
//	                    break;
//	                }
//
//	                if (socket != null) {
//	                    synchronized (BtSPP.this) {
//	                        switch (mState) {
//	                        case STATE_LISTEN:
//	                        case STATE_CONNECTING: // ��������������������ơ�
//	                            connected(socket, socket.getRemoteDevice());
//	                            break;
//	                        case STATE_NONE:
//	                        case STATE_CONNECTED:
//	                            try {
//	                                socket.close();
//	                            } catch (IOException e) {
//
//	                            }
//	                            break;
//	                        }
//	                    }
//	                }
//	            }
//	        }
//	        public void cancel() {
//	            try {
//	                mmServerSocket.close();
//	            } catch (IOException e) {
//	            }
//	        }
//	    }
//
//	 private class ConnectThread extends Thread {
//	        private final BluetoothSocket mmSocket;
//	        private final BluetoothDevice mmDevice;
//	        public ConnectThread(BluetoothDevice device) {
//	            mmDevice = device;
//	            BluetoothSocket tmp = null;
//	            try {
//	                tmp = device.createRfcommSocketToServiceRecord(SPP_UUID);
//	            } catch (IOException e) {
//	            }
//	            mmSocket = tmp;
//	        }
//	        public void run() {
//	        	myBluetoothAdapter.cancelDiscovery();
//	            try {
//	                mmSocket.connect();
//	            } catch (IOException e) {
//	                connectionFailed();
//	                try {
//	                    mmSocket.close();
//	                } catch (IOException e2) {
//	                }
//	                BtSPP.this.start();
//	                return;
//	            }
//	            synchronized (BtSPP.this) {
//	                mConnectThread = null;
//	            }
//	            connected(mmSocket, mmDevice);
//	        }
//
//	        public void cancel() {
//	            try {
//	                mmSocket.close();
//	            } catch (IOException e) {
//	            }
//	        }
//	    }
//
//	  private class ConnectedThread extends Thread {
//	        private final BluetoothSocket mmSocket;
//	        private final InputStream mmInStream;
//	        private final OutputStream mmOutStream;
//	        public ConnectedThread(BluetoothSocket socket) {
//	            mmSocket = socket;
//	            InputStream tmpIn = null;
//	            OutputStream tmpOut = null;
//	            try {
//	                tmpIn = socket.getInputStream();
//	                tmpOut = socket.getOutputStream();
//	            } catch (IOException e) {
//	            }
//	            mmInStream = tmpIn;
//	            mmOutStream = tmpOut;
//	        }
//
//	        public void run() {
//	        	   byte[] buffer = new byte[1024];
//	               int bytes;
//	               while (true) {
//	                   try {
//	                       bytes = mmInStream.read(buffer);
//	                       if(bytes>0)
//	                       {
//	                       	mHandler.obtainMessage(AdEscPrint.MESSAGE_READ, bytes, -1, buffer)
//	                  .sendToTarget();
//	                       }
//
//	                   } catch (IOException e) {
//	                       connectionLost();
//	                       break;
//	                   }
//	               }
//	        }
//	        public void write(byte[] buffer) {
//	            try {
//	                mmOutStream.write(buffer);
//	            } catch (IOException e) {
//	            }
//	        }
//
//	        public void cancel() {
//	            try {
//	                mmSocket.close();
//	            } catch (IOException e) {
//	            }
//	        }
//	    }
}
